prolog './g432.ijs'
NB. \:y -----------------------------------------------------------------

randuni''

NB. Boolean
a =: 1=?10 5$2
i =: \:a
k =: ?10$5
i =&# a
(\:~i)  -: i.-#a
(\:k#a) -: ;i{(i.&.>k)+&.>+/\}:0,k
(,0)    -: \:0
''      -: \:(0,?(?5)$10)$0
(i.#a)  -: \:a =: ((?10),0)$0
(\:a)   -: \:,.~a=:?400$2
(\:a)   -: \:,.~a=:?  1$2
((+/a=/1 0)#1 0) -: \:~a=:?1000$2

f=: 3 : 0 " 0
 a=: (1000,y) ?@$ 2
 k=: (#a) ?@$ 5
 i=: \:a
 assert. i -: \:a{'01'
 assert. i -: \: #.a
 assert. (\:k#a) -: ; i { (i.&.>k)+&.>+/\}:0,k
 1
)

f >: i.16

NB. literal
a =: a.{~32+?10 5$95
i =: \:a
k =: ?10$5
i =&# a
(\:~i)  -: i.-#a
(\:k#a) -: ;i{(i.&.>k)+&.>+/\_1}.0,k
(,0)    -: \:'g'
''      -: \:(0,?(?5)$10)$0
(i.#a)  -: \:a =: ((?10),0)$0
(\:a)   -: \:,.~ a=:a.{~?400$256
(\:a)   -: \:,.~ a=:a.{~?  1$256
((+/x=/|.a.)#|.a.) -: \:~x=:a.{~?1000$#a.

f=: 3 : 0 " 0
 a=: a.{~(1000,y) ?@$ #a.
 k=: (#a) ?@$ 5
 assert. (\:k#a) -: ; (\:a) { (i.&.>k)+&.>+/\}:0,k
 1
)

f >:i.16

NB. literal2
a =: adot1{~32+?10 5$95
i =: \:a
k =: ?10$5
i =&# a
(\:~i)  -: i.-#a
(\:k#a) -: ;i{(i.&.>k)+&.>+/\_1}.0,k
(,0)    -: \:u:'g'
''      -: \:(0,?(?5)$10)$0
(i.#a)  -: \:a =: ((?10),0)$0
(\:a)   -: \:,.~ a=:adot1{~?400$(#adot1)
(\:a)   -: \:,.~ a=:adot1{~?  1$(#adot1)
((+/x=/|.adot1)#|.adot1) -: \:~x=:adot1{~?1000$#adot1

f=: 3 : 0 " 0
 a=: adot1{~(1000,y) ?@$ #adot1
 k=: (#a) ?@$ 5
 assert. (\:k#a) -: ; (\:a) { (i.&.>k)+&.>+/\}:0,k
 1
)

f >:i.16

NB. literal4
a =: adot2{~32+?10 5$95
i =: \:a
k =: ?10$5
i =&# a
(\:~i)  -: i.-#a
(\:k#a) -: ;i{(i.&.>k)+&.>+/\_1}.0,k
(,0)    -: \:10&u:'g'
''      -: \:(0,?(?5)$10)$0
(i.#a)  -: \:a =: ((?10),0)$0
(\:a)   -: \:,.~ a=:adot2{~?400$(#adot2)
(\:a)   -: \:,.~ a=:adot2{~?  1$(#adot2)
((+/x=/|.adot2)#|.adot2) -: \:~x=:adot2{~?1000$#adot2

f=: 3 : 0 " 0
 a=: adot2{~(1000,y) ?@$ #adot2
 k=: (#a) ?@$ 5
 assert. (\:k#a) -: ; (\:a) { (i.&.>k)+&.>+/\}:0,k
 1
)

f >:i.16

NB. symbol
a =: sdot0{~32+?10 5$95
i =: \:a
k =: ?10$5
i =&# a
(\:~i)  -: i.-#a
(\:k#a) -: ;i{(i.&.>k)+&.>+/\_1}.0,k
(,0)    -: \:u:'g'
''      -: \:(0,?(?5)$10)$0
(i.#a)  -: \:a =: ((?10),0)$0
(\:a)   -: \:,.~ a=:adot1{~?400$(#adot1)
(\:a)   -: \:,.~ a=:adot1{~?  1$(#adot1)
((+/x=/|.adot1)#|.adot1) -: \:~x=:adot1{~?1000$#adot1

f=: 3 : 0 " 0
 a=: sdot0{~(1000,y) ?@$ #adot1
 k=: (#a) ?@$ 5
 assert. (\:k#a) -: ; (\:a) { (i.&.>k)+&.>+/\}:0,k
 1
)

f >:i.16

NB. integer
a =: ?10 5$100
i =: \:a
k =: ?10$5
i=&#a
(\:~i)  -: i.-#a
(\:k#a) -: ;i{(i.&.>k)+&.>+/\_1}.0,k
(,0)    -: \:5
''      -: \:(0,?(?5)$10)$5
(i.#a)  -: \:a =: ((?10),0)$5
*./a>:}:0,~a=:\:~?1000$1e2
*./a>:}:0,~a=:\:~?1000$1e3
*./a>:}:0,~a=:\:~?1000$1e4
*./a>:}:0,~a=:\:~?1000$1e9
(\: 100#.a) -: \: a=: ?1000 2$100
(\: 100#.a) -: \: a=: ?1000 2$  5

a=: (--:m) + 1000 ?@$ m=:IF64{2e9 9e18
y=: (\:a) { a
*./ (}:y) >: }.y

m=:<._1+2^31
0 1 -: \: m,0
1 0 -: \: 0,m
m=:<.-2^31
1 0 -: \: m,0
0 1 -: \: 0,m

((i.!#a) A. i.#a) (\:@[ -: \:@:{)"1 2 a=: 88#"0 i.1
((i.!#a) A. i.#a) (\:@[ -: \:@:{)"1 2 a=: 88#"0 i.2
((i.!#a) A. i.#a) (\:@[ -: \:@:{)"1 2 a=: 88#"0 i.3
((i.!#a) A. i.#a) (\:@[ -: \:@:{)"1 2 a=: 88#"0 i.4
((i.!#a) A. i.#a) (\:@[ -: \:@:{)"1 2 a=: 88#"0 i.5
((i.!#a) A. i.#a) (\:@[ -: \:@:{)"1 2 a=: 88#"0 i.6

((i.!#a) A. i.#a) (] -: \:~@:{)"1 2 a=: \:~ (88$8),"1?1 8$5e6
((i.!#a) A. i.#a) (] -: \:~@:{)"1 2 a=: \:~ (88$8),"1?2 8$5e6
((i.!#a) A. i.#a) (] -: \:~@:{)"1 2 a=: \:~ (88$8),"1?3 8$5e6
((i.!#a) A. i.#a) (] -: \:~@:{)"1 2 a=: \:~ (88$8),"1?4 8$5e6
((i.!#a) A. i.#a) (] -: \:~@:{)"1 2 a=: \:~ (88$8),"1?5 8$5e6
((i.!#a) A. i.#a) (] -: \:~@:{)"1 2 a=: \:~ (88$8),"1?6 8$5e6

f=: 3 : 0 " 0
 a=: (100,y) ?@$ 200
 k=: (#a) ?@$ 5
 assert. (\:k#a) -: ; (\:a) { (i.&.>k)+&.>+/\}:0,k
 1
)

f >: i.16

NB. literal
(\:v) -: \: a.{~        v=:         ?10000$#a.
(\:v) -: \: a.{~        v=:         ?66000$#a.

(\:v) -: \: a.{~ 2000 + v=: _2000 + ?10000$#a.
(\:v) -: \: a.{~ 2000 + v=: _2000 + ?66000$#a.

(\:v) -: \: a.{~  128 + v=: _128  + ?10000$#a.
(\:v) -: \: a.{~  128 + v=: _128  + ?66000$#a.

(\:"1 v) -: \:"1 a.{~        v=:         ?2 3 10000$#a.
(\:"1 v) -: \:"1 a.{~        v=:         ?2 3 66000$#a.

(\:"1 v) -: \:"1 a.{~ 2000 + v=: _2000 + ?2 3 10000$#a.
(\:"1 v) -: \:"1 a.{~ 2000 + v=: _2000 + ?2 3 66000$#a.

(\:"1 v) -: \:"1 a.{~  128 + v=:  _128 + ?2 3 10000$#a.
(\:"1 v) -: \:"1 a.{~  128 + v=:  _128 + ?2 3 66000$#a.

NB. literal2
(\:v) -: \: adot1{~        v=:         ?10000$#adot1
(\:v) -: \: adot1{~        v=:         ?66000$#adot1

(\:v) -: \: adot1{~ 2000 + v=: _2000 + ?10000$#adot1
(\:v) -: \: adot1{~ 2000 + v=: _2000 + ?66000$#adot1

(\:v) -: \: adot1{~  (-:@#adot1) + v=: (-@-:@#adot1)  + ?10000$#adot1
(\:v) -: \: adot1{~  (-:@#adot1) + v=: (-@-:@#adot1)  + ?66000$#adot1

(\:"1 v) -: \:"1 adot1{~        v=:         ?2 3 10000$#adot1
(\:"1 v) -: \:"1 adot1{~        v=:         ?2 3 66000$#adot1

(\:"1 v) -: \:"1 adot1{~ 2000 + v=: _2000 + ?2 3 10000$#adot1
(\:"1 v) -: \:"1 adot1{~ 2000 + v=: _2000 + ?2 3 66000$#adot1

(\:"1 v) -: \:"1 adot1{~  (-:@#adot1) + v=:  (-@-:@#adot1) + ?2 3 10000$#adot1
(\:"1 v) -: \:"1 adot1{~  (-:@#adot1) + v=:  (-@-:@#adot1) + ?2 3 66000$#adot1

NB. literal4
(\: UNSGN32 v) -: \: adot2{~        v=:         ?10000$#adot2
(\: UNSGN32 v) -: \: adot2{~        v=:         ?66000$#adot2

(\:"1 UNSGN32 v) -: \:"1 adot2{~        v=:         ?2 3 10000$#adot2
(\:"1 UNSGN32 v) -: \:"1 adot2{~        v=:         ?2 3 66000$#adot2

NB. symbol
(\:v) -: \: sdot0{~        v=:         ?10000$#sdot0
(\:v) -: \: sdot0{~        v=:         ?66000$#sdot0

(\:v) -: \: sdot0{~ 2000 + v=: _2000 + ?10000$#sdot0
(\:v) -: \: sdot0{~ 2000 + v=: _2000 + ?66000$#sdot0

(\:v) -: \: sdot0{~  (-:@#sdot0) + v=: (-@-:@#sdot0)  + ?10000$#sdot0
(\:v) -: \: sdot0{~  (-:@#sdot0) + v=: (-@-:@#sdot0)  + ?66000$#sdot0

(\:"1 v) -: \:"1 sdot0{~        v=:         ?2 3 10000$#sdot0
(\:"1 v) -: \:"1 sdot0{~        v=:         ?2 3 66000$#sdot0

(\:"1 v) -: \:"1 sdot0{~ 2000 + v=: _2000 + ?2 3 10000$#sdot0
(\:"1 v) -: \:"1 sdot0{~ 2000 + v=: _2000 + ?2 3 66000$#sdot0

(\:"1 v) -: \:"1 sdot0{~  (-:@#sdot0) + v=:  (-@-:@#sdot0) + ?2 3 10000$#sdot0
(\:"1 v) -: \:"1 sdot0{~  (-:@#sdot0) + v=:  (-@-:@#sdot0) + ?2 3 66000$#sdot0

(\:v) -: \: o. v=: (?~20000){(?10000$65536),32768*?10000$65536
(\:v) -: \: (-#v){.0 (3!:3) v

NB. floating point
a =: o._40+?10 5$100
i =: \:a
k =: ?10$5
i =&# a
(\:~i)  -: i.-#a
(\:k#a) -: ;i{(i.&.>k)+&.>+/\_1}.0,k
(,0)    -: \:2.718
''      -: \:(0,?(?5)$10)$3.14
(i.#x)  -: \:x=: ((?10),0)$3.14
*./x>:}:0,~x=:\:~o.?1000$1e2

v=:?100$25
(\:v) -: \:v-25
(\:v) -: \:v+100
(\:v) -: \:o.v
(\:v) -: \:,.~v

(\:v) -: \: 0.01*v=:        ?10000$50000
(\:v) -: \: 0.01*v=:        ?66000$50000

(\:v) -: \: 0.01*v=: - 1+   ?10000$50000
(\:v) -: \: 0.01*v=: - 1+   ?66000$50000

(\:v) -: \: 0.01*v=: _25000+?10000$50000
(\:v) -: \: 0.01*v=: _25000+?66000$50000

(\:"1 v) -: \:"1 o. v=:        ?2 3 10000$50000
(\:"1 v) -: \:"1 o. v=:        ?2 3 66000$50000

(\:"1 v) -: \:"1 o. v=: - 1+   ?2 3 10000$50000
(\:"1 v) -: \:"1 o. v=: - 1+   ?2 3 66000$50000

(\:"1 v) -: \:"1 o. v=: _25000+?2 3 10000$50000
(\:"1 v) -: \:"1 o. v=: _25000+?2 3 66000$50000

NB. complex
a =: r._40+?10 5$100
i =: \:a
k =: ?10$5
i =&# a
i       -: \: +.a
(\:~i)  -: i.-#a
(\:k#a) -: ; i { (i.&.>k) +&.> +/\ }:0,k
(,0)    -: \: 3j4
''      -: \: (0,?(?5)$10)$3j4
(i.#x)  -: \: x=: ((?10),0)$3j4
(i.12)  -: \: r.12 5$100

NB. boxed
(\:a) -: \: <"0  a=: ?20 7$1000
(\:a) -: \: <"1  a
(\:a) -: \: <&.> a
(\:a) -: \: <&.> a
(\:a) -: \: > a=:     _50+&.>(?10$20)$&.>100
(\:a) -: \: > a=:o.&.>_50+&.>(?10$20)$&.>100
(\:a) -: \: > a=:r.&.>_50+&.>(?10$20)$&.>100
(\:a) -: \: > a=:(<"0 ?5$2),(<"0 ?5$100),(<"0 o.?5$100),<"0 r.?5$100
(\:a) -: \: > a=:(?~#a){a
(\:a) -: \: i.&.>a=:?~30

NB. boxed symbol
(\:b) -: \: a=: s: (b=: 4 2 3 1 0){5 5$25{.65}.a.
(\:b) -: \: 7&s: a
(\:b) -: \: <"0 a
(\:;a) -: \:a=: <"0@s:'`onomatopoeia`paraclete`parousia`paronomasiac`parousia`paraclete`onomatopoeia`paraclete'
(\:;a) -: \: 7&s:&> a

f=: 3 : 0
 assert. (\:   a) -: \:   <"0 a=.?(100,y)$3
 assert. (\:"1 a) -: \:"1 <"0 a
 assert. (\:"2 a) -: \:"2 <"0 a
 assert. (\:   a) -: \:   <"1 a
 assert. (\:"2 a) -: \:"1 <"1 a
 assert. (\:"3 a) -: \:"2 <"1 a
 1
)

*./@f"0 >:       i.3 10
*./@f"1 >:  5 6#:i.3 10
*./@f"1 >:5 3 2#:i.3 10

g=: 3 : '0 1 -: \: ,:~ t=. y$t,<t=.1 2 3;''abc'' '
g"0 i.3 10

g=: 3 : '0 1 -: \: ,:~ t=. y$t,<t=.1 2 3;u:''abc'' '
g"0 i.3 10

g=: 3 : '0 1 -: \: ,:~ t=. y$t,<t=.1 2 3;10&u:''abc'' '
g"0 i.3 10

(\:"1 a) -: \:"1 <"0 a=:?  20 17$1000
(\:"2 a) -: \:"2 <"0 a=:?4 20 17$1000

ge=: 0: = {.@\:
x=: o.&.>_50+&.>(?10$20)$&.>100
y=: ;:'Cogito, ergo sum. Sui generis. Sine qua non.'
z=: <"0 >5!:1 <'ge'
2 ge\ \:~a=: (?~#x,y,z) { x,y,z

x=: o.&.>_50+&.>(?10$20)$&.>100
y=: (u:&.>) ;:'Cogito, ergo sum. Sui generis. Sine qua non.'
z=: <"0 >5!:1 <'ge'
2 ge\ \:~a=: (?~#x,y,z) { x,y,z

x=: o.&.>_50+&.>(?10$20)$&.>100
y=: (10&u:&.>) ;:'Cogito, ergo sum. Sui generis. Sine qua non.'
z=: <"0 >5!:1 <'ge'
2 ge\ \:~a=: (?~#x,y,z) { x,y,z

2 1 0 -: \: x=:3j4;     'Ex ungue leonem'; <<5 6 7
0 1 2 -: \: |. x
2 1 0 -: \: x=:(i.0);   'Ex ungue leonem'; <<5 6 7
0 1 2 -: \: |. x
2 1 0 -: \: x=:'';      'Ex ungue leonem'; <<5 6 7
0 1 2 -: \: |. x
2 1 0 -: \: x=:(o.i.0); 'Ex ungue leonem'; <<5 6 7
0 1 2 -: \: |. x
2 1 0 -: \: x=:(j.i.0); 'Ex ungue leonem'; <<5 6 7
0 1 2 -: \: |. x
2 1 0 -: \: x=:(0$a:);  'Ex ungue leonem'; <<5 6 7
0 1 2 -: \: |. x
0 1 2 -: \: x=:'' ; (i.0) ; <0$a: 
0 1 2 -: \: |. x

2 1 0 -: \: x=:3j4;     (u:'Ex ungue leonem'); <<5 6 7
0 1 2 -: \: |. x
2 1 0 -: \: x=:(i.0);   (u:'Ex ungue leonem'); <<5 6 7
0 1 2 -: \: |. x
2 1 0 -: \: x=:(u:'');      (u:'Ex ungue leonem'); <<5 6 7
0 1 2 -: \: |. x
2 1 0 -: \: x=:(o.i.0); (u:'Ex ungue leonem'); <<5 6 7
0 1 2 -: \: |. x
2 1 0 -: \: x=:(j.i.0); (u:'Ex ungue leonem'); <<5 6 7
0 1 2 -: \: |. x
2 1 0 -: \: x=:(0$a:);  (u:'Ex ungue leonem'); <<5 6 7
0 1 2 -: \: |. x
0 1 2 -: \: x=:(u:'') ; (i.0) ; <0$a: 
0 1 2 -: \: |. x

2 1 0 -: \: x=:3j4;     (10&u:'Ex ungue leonem'); <<5 6 7
0 1 2 -: \: |. x
2 1 0 -: \: x=:(i.0);   (10&u:'Ex ungue leonem'); <<5 6 7
0 1 2 -: \: |. x
2 1 0 -: \: x=:(10&u:'');      (10&u:'Ex ungue leonem'); <<5 6 7
0 1 2 -: \: |. x
2 1 0 -: \: x=:(o.i.0); (10&u:'Ex ungue leonem'); <<5 6 7
0 1 2 -: \: |. x
2 1 0 -: \: x=:(j.i.0); (10&u:'Ex ungue leonem'); <<5 6 7
0 1 2 -: \: |. x
2 1 0 -: \: x=:(0$a:);  (10&u:'Ex ungue leonem'); <<5 6 7
0 1 2 -: \: |. x
0 1 2 -: \: x=:(10&u:'') ; (i.0) ; <0$a: 
0 1 2 -: \: |. x

2 1 0 -: \: x=:3j4;     (s:@<"0 'Ex ungue leonem'); <<5 6 7
0 1 2 -: \: |. x
2 1 0 -: \: x=:(i.0);   (s:@<"0 'Ex ungue leonem'); <<5 6 7
0 1 2 -: \: |. x
2 1 0 -: \: x=:(u:'');      (s:@<"0 'Ex ungue leonem'); <<5 6 7
0 1 2 -: \: |. x
2 1 0 -: \: x=:(o.i.0); (s:@<"0 'Ex ungue leonem'); <<5 6 7
0 1 2 -: \: |. x
2 1 0 -: \: x=:(j.i.0); (s:@<"0 'Ex ungue leonem'); <<5 6 7
0 1 2 -: \: |. x
2 1 0 -: \: x=:(0$a:);  (s:@<"0 'Ex ungue leonem'); <<5 6 7
0 1 2 -: \: |. x
0 1 2 -: \: x=:(u:'') ; (i.0) ; <0$a: 
0 1 2 -: \: |. x

a=: < 2 3 $ 1 2 3 4 5 6
b=: < 3 2 $ 1 2 5 6 3 4
c=: < 1 3 $ 1 2 3
d=: < 1 2 $ 1 2
e=: < 2 2 $ 1 2 5 6

(i.5) -: /: d,e,b,c,a
(\:"1 p) -: \:"1 (d,e,b,c,a){~p=: (i.!5) A. i.5

NB. extended integer
(\: -: \:       @:x:) a=: _500+?100  $1000
(\: -: \:@:(<"0)@:x:) a
(\: -: \:       @:x:) a=: _500+?100 4$1000
(\: -: \:@:(<"1)@:x:) a

NB. rationals
(\: -: \:       @:x:) a=: -:_500+?100  $1000
(\: -: \:@:(<"0)@:x:) a
(\: -: \:       @:x:) a=: -:_500+?100 4$1000
(\: -: \:@:(<"1)@:x:) a

'index error'  -: 3 4 5 \: etx 1 2 3 4


NB. \:y on integer lists ------------------------------------------------

v=:?100$25
(\:v) -: \:v-25
(\:v) -: \:v+100
(\:v) -: \:o.v
(\:v) -: \:,.~v

0 5 4 3 2 1 -: \: v=: 2e9 _2e9 1 2 3 4
 2e9 4 3 2 1 _2e9 -: \:~v

x=: <._1+2^31
y=: _1-x
v=:x,y,1 2 3 4
(\:v) -: 0 5 4 3 2 1
(\:~v) -: x,4 3 2 1,y

NB. \:y on C4T small-range ------------------------------------------------
0 1 -: \: 9 u: 5 1
0 1 2 -: \: 9 u: 5 5 1

NB. \:"r ----------------------------------------------------------------

g =: 3 : ('\:y'; ':'; 'x\:y')

(\:"0 -: g"0) y=:?2 3 4 17$2
(\:"1 -: g"1) y
(\:"2 -: g"2) y
(\:"3 -: g"3) y
(\:"4 -: g"4) y

(\:"0 -: g"0) y=:a.{~?2 3 4 17$#a.
(\:"1 -: g"1) y
(\:"2 -: g"2) y
(\:"3 -: g"3) y
(\:"4 -: g"4) y
(\:"0 -: g"0) y=:a.{~?2 3 4 18$#a.
(\:"1 -: g"1) y
(\:"2 -: g"2) y
(\:"3 -: g"3) y
(\:"4 -: g"4) y

(\:"0 -: g"0) y=:adot1{~?2 3 4 17$#adot1
(\:"1 -: g"1) y
(\:"2 -: g"2) y
(\:"3 -: g"3) y
(\:"4 -: g"4) y
(\:"0 -: g"0) y=:adot1{~?2 3 4 18$#adot1
(\:"1 -: g"1) y
(\:"2 -: g"2) y
(\:"3 -: g"3) y
(\:"4 -: g"4) y

(\:"0 -: g"0) y=:adot2{~?2 3 4 17$#adot2
(\:"1 -: g"1) y
(\:"2 -: g"2) y
(\:"3 -: g"3) y
(\:"4 -: g"4) y
(\:"0 -: g"0) y=:adot2{~?2 3 4 18$#adot2
(\:"1 -: g"1) y
(\:"2 -: g"2) y
(\:"3 -: g"3) y
(\:"4 -: g"4) y

(\:"0 -: g"0) y=:sdot0{~?2 3 4 17$#sdot0
(\:"1 -: g"1) y
(\:"2 -: g"2) y
(\:"3 -: g"3) y
(\:"4 -: g"4) y
(\:"0 -: g"0) y=:sdot0{~?2 3 4 18$#sdot0
(\:"1 -: g"1) y
(\:"2 -: g"2) y
(\:"3 -: g"3) y
(\:"4 -: g"4) y

(\:"0 -: g"0) y=:?2 3 4 17$34
(\:"1 -: g"1) y
(\:"2 -: g"2) y
(\:"3 -: g"3) y
(\:"4 -: g"4) y
(\:"0 -: g"0) y=:?2 3 4 17$+:*/2 3 4 17
(\:"1 -: g"1) y
(\:"2 -: g"2) y
(\:"3 -: g"3) y
(\:"4 -: g"4) y
(\:"0 -: g"0) y=:_50+?2 3 4 17$100
(\:"1 -: g"1) y
(\:"2 -: g"2) y
(\:"3 -: g"3) y
(\:"4 -: g"4) y

(\:"0 -: g"0) y=:o.?2 3 4 17$34
(\:"1 -: g"1) y
(\:"2 -: g"2) y
(\:"3 -: g"3) y
(\:"4 -: g"4) y

x=:?20 3$100
x (\:"2 2 -: g"2 2) y=:?2 20 3$100
x (\:"2 3 -: g"2 3) y=:?20 2 3$100
x (\:"1 1 -: g"1 1) y=:o.?3$100
x (\:"1 0 -: g"1 0) y=:?1000
x (\:"1 0 -: g"1 0) y=:a.{~?20$256

(\:~"1 -: g~"1) y=:?4 17$2
(\:~"1 -: g~"1) y=:a.{~32+?17 4$95
(\:~"1 -: g~"1) y=:?2 7 16$100
(\:~"1 -: g~"1) y=:o.?4 17$1232

(2 3 4 1$0) -: \:"0 i.2 3 4
(0 0 0 1$0) -: \:"0 i.0 0 0

'index error' -: (i.4) \: etx i.5

randfini''


epilog''

